/**
 * 版权所有(C)，上海勾芒信息科技，2017，所有权利保留。
 * 
 * 项目名：	cards-web
 * 文件名：	WxAppUser.java
 * 模块说明：	
 * 修改历史：
 * 2017年4月13日 - Debenson - 创建。
 */
package com.alex.insistence.rest.user;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.xml.bind.annotation.XmlRootElement;

import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.binarywang.wx.miniapp.util.json.WxMaGsonBuilder;

/**
 * 小程序用户。
 * 
 * @author Debenson
 * @since 0.1
 */
@XmlRootElement
public class RsAppUser extends WxMaUserInfo implements Serializable {
  private static final long serialVersionUID = -1203967880049325337L;

  /** 海鼎会员Id */
  private String memberId;
  /** 海鼎会员名称 */
  private String memberName;
  /** 手机号 */
  private String mobile;

  /** 储值类型 */
  private String rechargeSource;

  /** 微信会员卡号 */
  private String weixinCardNo;

  /** 会员积分 */
  private BigDecimal score;

  public static RsAppUser fromJson(String json) {
    return WxMaGsonBuilder.create().fromJson(json, RsAppUser.class);
  }

  public static RsAppUser copyFrom(WxMaUserInfo maUserInfo) {
    String json = WxMaGsonBuilder.create().toJson(maUserInfo);
    return fromJson(json);
  }

  public String getMemberId() {
    return memberId;
  }

  public void setMemberId(String memberId) {
    this.memberId = memberId;
  }

  public String getMemberName() {
    return memberName;
  }

  public void setMemberName(String memberName) {
    this.memberName = memberName;
  }

  public String getMobile() {
    return mobile;
  }

  public void setMobile(String mobile) {
    this.mobile = mobile;
  }

  public String getRechargeSource() {
    return rechargeSource;
  }

  public void setRechargeSource(String rechargeSource) {
    this.rechargeSource = rechargeSource;
  }

  public String getWeixinCardNo() {
    return weixinCardNo;
  }

  public void setWeixinCardNo(String weixinCardNo) {
    this.weixinCardNo = weixinCardNo;
  }

  public BigDecimal getScore() {
    return score;
  }

  public void setScore(BigDecimal score) {
    this.score = score;
  }

}
